/*
 * Copyright (c) 2007-2021 西安交通信息投资营运有限公司 版权所有
 */

package com.xci.xajtfb.wxc.entity;

import cn.afterturn.easypoi.excel.annotation.Excel;
import cn.afterturn.easypoi.excel.annotation.ExcelIgnore;
import com.fasterxml.jackson.databind.annotation.JsonSerialize;
import com.fasterxml.jackson.databind.ser.std.ToStringSerializer;
import com.github.lvyanyang.core.BaseEntity;
import com.github.lvyanyang.core.Const;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import org.hibernate.validator.constraints.Length;

import java.util.Date;
import javax.validation.constraints.NotBlank;
import javax.validation.constraints.NotNull;

/**
 * 训练场基本资料表
 * @author 马星俊 maxingjun@xci96716.com
 * @since 2021-03-01 17:39:46
 */
@Data
@EqualsAndHashCode(callSuper = true)
@ApiModel(description = "训练场基本资料表")
public class SchGrounp extends BaseEntity {
    /**
     * 主键
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @ExcelIgnore
    @Excel(name = "主键", width = 20d)
    @ApiModelProperty(value = "主键", position = 1)
    private Long id;

    /**
     * 驾校编号
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @Excel(name = "驾校编号", width = 20d)
    @ApiModelProperty(value = "驾校编号", position = 2)
    private Long schoolId;

    /**
     * 驾校名称
     */
    @Excel(name = "驾校名称", width = 20d)
    @ApiModelProperty(value = "驾校名称", required = true, position = 3)
    private String schoolName;

    /**
     * 场地名称
     */
    @Length(max = 100, message = "场地名称长度不能超过{max}个字符")
    @Excel(name = "场地名称", width = 20d)
    @ApiModelProperty(value = "场地名称", position = 3)
    private String groundName;

    /**
     * 场地地址
     */
    @Length(max = 200, message = "场地地址长度不能超过{max}个字符")
    @Excel(name = "场地地址", width = 20d)
    @ApiModelProperty(value = "场地地址", position = 4)
    private String groundAddress;

    /**
     * 联系人
     */
    @Length(max = 50, message = "联系人长度不能超过{max}个字符")
    @Excel(name = "联系人", width = 20d)
    @ApiModelProperty(value = "联系人", position = 5)
    private String groundPerson;

    /**
     * 联系电话
     */
    @Length(max = 50, message = "联系电话长度不能超过{max}个字符")
    @Excel(name = "联系电话", width = 20d)
    @ApiModelProperty(value = "联系电话", position = 6)
    private String groundTel;

    /**
     * 培训车型名称
     */
    @Length(max = 500, message = "培训车型名称长度不能超过{max}个字符")
    @Excel(name = "培训车型名称", width = 20d)
    @ApiModelProperty(value = "培训车型名称", position = 7)
    private String trainingVehicleTypeName;

    /**
     * 培训车型值
     */
    @Length(max = 50, message = "培训车型值长度不能超过{max}个字符")
    @Excel(name = "培训车型值", width = 20d)
    @ApiModelProperty(value = "培训车型值", position = 8)
    private String trainingVehicleTypeValue;

    /**
     * 场地性质
     */
    @Length(max = 50, message = "场地性质长度不能超过{max}个字符")
    @Excel(name = "场地性质", width = 20d)
    @ApiModelProperty(value = "场地性质", position = 9)
    private String groundNature;

    /**
     * 科目类型
     */
    @Length(max = 50, message = "科目类型长度不能超过{max}个字符")
    @Excel(name = "科目类型", width = 20d)
    @ApiModelProperty(value = "科目类型", position = 10)
    private String subjectType;

    /**
     * 场地面积
     */
    @Excel(name = "场地面积", width = 20d)
    @ApiModelProperty(value = "场地面积", position = 11)
    private Double groundArea;

    /**
     * 可容纳车辆
     */
    @Excel(name = "可容纳车辆", width = 20d)
    @ApiModelProperty(value = "可容纳车辆", position = 12)
    private Integer accommodateCount;

    /**
     * 已投放车辆数
     */
    @Excel(name = "已投放车辆数", width = 20d)
    @ApiModelProperty(value = "已投放车辆数", position = 13)
    private Integer putCount;

    /**
     * 状态 [正常_1,已停用_2,已删除_10]
     */
    @Excel(name = "状态 [正常_1,已停用_2,已删除_10]", width = 20d)
    @ApiModelProperty(value = "状态 [正常_1,已停用_2,已删除_10]", position = 14)
    private Integer status;

    /**
     * 状态 [待上报_1,已上报_2,审核通过_3,驳回_4]
     */
    @Excel(name = "状态 [待上报_1,已上报_2,审核通过_3,驳回_4]", width = 20d)
    @ApiModelProperty(value = "状态 [待上报_1,已上报_2,审核通过_3,驳回_4]", position = 15)
    private Integer auditStatus;

    /**
     * 审核时间
     */
    @Excel(name = "审核时间", width = 20d, exportFormat = Const.DEFAULT_DATETIME_PATTERN)
    @ApiModelProperty(value = "审核时间", position = 16)
    private Date auditDate;

    /**
     * 审核人
     */
    @Length(max = 50, message = "审核人长度不能超过{max}个字符")
    @Excel(name = "审核人", width = 20d)
    @ApiModelProperty(value = "审核人", position = 17)
    private String auditName;

    /**
     * 场地图片路径
     */
    @Length(max = 200, message = "场地图片路径长度不能超过{max}个字符")
    @Excel(name = "场地图片路径", width = 20d)
    @ApiModelProperty(value = "场地图片路径", position = 18)
    private String groundUrl;

    /**
     * 经度
     */
    @Excel(name = "经度", width = 20d)
    @ApiModelProperty(value = "经度", position = 19)
    private Double longitude;

    /**
     * 纬度
     */
    @Excel(name = "纬度", width = 20d)
    @ApiModelProperty(value = "纬度", position = 20)
    private Double latitude;

    /**
     * 所属运管所
     */
    @Length(max = 50, message = "所属运管所长度不能超过{max}个字符")
    @Excel(name = "所属运管所", width = 20d)
    @ApiModelProperty(value = "所属运管所", position = 21)
    private String manageDept;

    /**
     * 使用开始时间
     */
    @Excel(name = "使用开始时间", width = 20d, exportFormat = Const.DEFAULT_DATETIME_PATTERN)
    @ApiModelProperty(value = "使用开始时间", position = 22)
    private Date useStartdate;

    /**
     * 使用截止时间
     */
    @Excel(name = "使用截止时间", width = 20d, exportFormat = Const.DEFAULT_DATETIME_PATTERN)
    @ApiModelProperty(value = "使用截止时间", position = 23)
    private Date useEnddate;

    /**
     * 侧方
     */
    @Excel(name = "侧方", width = 20d)
    @ApiModelProperty(value = "侧方", position = 24)
    private Integer itemCf;

    /**
     * 倒库
     */
    @Excel(name = "倒库", width = 20d)
    @ApiModelProperty(value = "倒库", position = 25)
    private Integer itemDk;

    /**
     * 半坡起步
     */
    @Excel(name = "半坡起步", width = 20d)
    @ApiModelProperty(value = "半坡起步", position = 26)
    private Integer itemBpqb;

    /**
     * 直角转弯
     */
    @Excel(name = "直角转弯", width = 20d)
    @ApiModelProperty(value = "直角转弯", position = 27)
    private Integer itemZjzw;

    /**
     * 曲线行驶
     */
    @Excel(name = "曲线行驶", width = 20d)
    @ApiModelProperty(value = "曲线行驶", position = 28)
    private Integer itemQxxs;

    /**
     * 湿滑路面
     */
    @Excel(name = "湿滑路面", width = 20d)
    @ApiModelProperty(value = "湿滑路面", position = 29)
    private Integer itemShlm;

    /**
     * 模拟隧道
     */
    @Excel(name = "模拟隧道", width = 20d)
    @ApiModelProperty(value = "模拟隧道", position = 30)
    private Integer itemMnsd;

    /**
     * 城市道路
     */
    @Excel(name = "城市道路", width = 20d)
    @ApiModelProperty(value = "城市道路", position = 31)
    private Integer itemCsdl;

    /**
     * 窄路掉头
     */
    @Excel(name = "窄路掉头", width = 20d)
    @ApiModelProperty(value = "窄路掉头", position = 32)
    private Integer itemZldt;

    /**
     * 备注
     */
    @Length(max = 500, message = "备注长度不能超过{max}个字符")
    @Excel(name = "备注", width = 20d)
    @ApiModelProperty(value = "备注", position = 33)
    private String remark;

    /**
     * 区域名称
     */
    @Length(max = 50, message = "区域名称长度不能超过{max}个字符")
    @Excel(name = "区域名称", width = 20d)
    @ApiModelProperty(value = "区域名称", position = 34)
    private String areaName;

    /**
     * 区域编号
     */
    @Length(max = 50, message = "区域编号长度不能超过{max}个字符")
    @Excel(name = "区域编号", width = 20d)
    @ApiModelProperty(value = "区域编号", position = 35)
    private String areaCode;

    /**
     * 法人代表
     */
    @Length(max = 50, message = "法人代表长度不能超过{max}个字符")
    @Excel(name = "法人代表", width = 20d)
    @ApiModelProperty(value = "法人代表", position = 36)
    private String legalPerson;

    /**
     * 审核意见
     */
    @Length(max = 500, message = "审核意见长度不能超过{max}个字符")
    @Excel(name = "审核意见", width = 20d)
    @ApiModelProperty(value = "审核意见", position = 37)
    private String auditOpinion;

    /**
     * 数据来源[行业录入_1,企业录入_2]
     */
    @Excel(name = "数据来源[行业录入_1,企业录入_2]", width = 20d)
    @ApiModelProperty(value = "数据来源[行业录入_1,企业录入_2]", position = 38)
    private Integer inputSources;

    /**
     * 是否黑名单[是_1,否__0]
     */
    @Excel(name = "是否黑名单[是_1,否__0]", width = 20d)
    @ApiModelProperty(value = "是否黑名单[是_1,否__0]", position = 39)
    private Integer isblacklist;

    /**
     * 创建人主键
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @Excel(name = "创建人主键", width = 20d)
    @ApiModelProperty(value = "创建人主键", position = 40)
    private Long createUserId;

    /**
     * 创建人姓名
     */
    @Length(max = 100, message = "创建人姓名长度不能超过{max}个字符")
    @Excel(name = "创建人姓名", width = 20d)
    @ApiModelProperty(value = "创建人姓名", position = 41)
    private String createUserName;

    /**
     * 创建时间
     */
    @Excel(name = "创建时间", width = 20d, exportFormat = Const.DEFAULT_DATETIME_PATTERN)
    @ApiModelProperty(value = "创建时间", position = 42)
    private Date createDateTime;

    /**
     * 修改人主键
     */
    @JsonSerialize(using = ToStringSerializer.class)
    @Excel(name = "修改人主键", width = 20d)
    @ApiModelProperty(value = "修改人主键", position = 43)
    private Long updateUserId;

    /**
     * 修改人姓名
     */
    @Length(max = 100, message = "修改人姓名长度不能超过{max}个字符")
    @Excel(name = "修改人姓名", width = 20d)
    @ApiModelProperty(value = "修改人姓名", position = 44)
    private String updateUserName;

    /**
     * 修改时间
     */
    @Excel(name = "修改时间", width = 20d, exportFormat = Const.DEFAULT_DATETIME_PATTERN)
    @ApiModelProperty(value = "修改时间", position = 45)
    private Date updateDateTime;

}